本发明公开一种实现远端实时操控的系统和方法,包括:在网络侧设置中心节点和渲染节点。中心节点,用于完成游戏文件在各个渲染节点中的部署,管理渲染节点信息和用户信息,为用户终端分配合适的渲染节点执行游戏服务;渲染节点,接收中心节点分配的游戏文件在本地进行安装;以及接收用户终端通过网络发来的操控指令,根据操控指令在本地运行游戏文件,生成相应的游戏画面并经过压缩后发送给用户终端。通过本发明方案可以减少游戏运行对用户终端资源的占用和配置的依赖,避免用户终端频繁的下载、更新游戏。
1.一种实现远端实时操控的系统,其特征在于,该系统设置于网络侧并包括:中心节点,用于完成游戏文件在各个渲染节点中的部署,管理渲染节点信息和用户信息,为用户终端分配合适的渲染节点执行游戏服务;渲染节点,接收中心节点分配的游戏文件在本地进行安装;以及接收用户终端通过网络发来的操控指令,根据操控指令在本地运行游戏文件,生成相应的游戏画面并经过压缩后发送给用户终端;其中,所述中心节点包括:中心游戏视频管理单元,用于中心节点对全局游戏和视频的管理,包括对游戏安装文件的管理,可供服务的游戏管理,对可点播游戏视频的管理;全局调度单元,客户端初始访问云游戏系统时,全局调度单元根据用户的IP地址向用户返回离用户最近的一个以上节点的网关信息;资源管理单元,用于与渲染节点的资源管理单元进行交互,判断渲染节点是否失效,从而在用户无法访问最近渲染节点时转向为用户提供次近的渲染节点;游戏文件库单元,用于保存新发布的游戏文件以及游戏补丁文件,中心游戏视频管理单元将根据发布和升级的要求与节点游戏视频管理单元通信,来将此游戏文件分发到渲染节点进行部署安装;所述渲染节点包括:节点游戏视频管理单元,用于对本渲染节点内的游戏视频进行管理,包括游戏安装文件的管理,渲染节点内游戏服务的管理,可供点播的游戏视频管理;用户数据管理单元,用于保存用户在游戏过程中生成的存档数据,在用户重新访问时可以调出使用;资源管理单元,用于实现渲染节点内游戏服务器、编码压缩单元和Cache设备的心跳连接,收集各设备的资源使用情况,实现资源虚拟化管理,为配置管理提供空闲的可服务的虚拟资源;Cache设备,用于提供游戏视频的高速缓存,用户可以通过访问Cache设备来获取游戏画面的视频流;编码压缩单元,用于完成游戏服务器输出原始视频信号的压缩编码;游戏服务器,用于实现游戏的逻辑运行和渲染,接收用户访问的消息,根据用户的消息在本地运行游戏,生成新的游戏画面,并将生成的游戏画面输出给编码压缩单元;配置管理单元,用于将节点游戏视频管理单元请求的资源进行预留,并返回完成配置的消息给节点游戏视频管理单元。
2.根据权利要求1所述的系统,其特征在于,所述中心游戏视频管理单元,还用于根据发布和升级的要求,将游戏文件分发到渲染节点进行部署安装;针对每款游戏进行相关属性记录,包括游戏安装文件在渲染节点的具体位置和文件属性信息,每款游戏在各个渲染节点中的部署完成情况以及所部署游戏服务器的信息,与游戏相关的可点播视频的信息;所述全局调度单元,还用于根据用户的IP地址判断用户处于哪个渲染节点的服务范围内,从而返回给用户具体的节点信息;所述Cache设备,还用于为用户直接提供视频点播、直播服务,和/或为其它渲染节点的Cache设备提供缓存服务。
3.根据权利要求1或2所述的系统,其特征在于,所述中心节点还包括:登录管理单元,用于存储所有用户的用户名和密码,并为所有用户的登录进行最终鉴权验证;为每个用户的每次游戏访问生成一个会话密钥;接收渲染节点的登录管理单元发过来的认证信息以及返回认证结果和会话密钥信息;客户端管理单元,用于向登录用户的客户端推送菜单界面,包括客户端菜单的更新;对客户端软件进行升级;对客户端广告显示进行管理;所述渲染节点还包括:登录管理单元,用于临时存储中心登录管理单元存储的会话密钥,保存用户相关的认证状态信息,在用户更换游戏时,保证用户不用再次输入用户名和密码进行第二次登录;网关,用于检验用户上行消息的合法性,同时判断用户的访问类型,以及在多个登录管理单元之间实现均衡。
4.根据权利要求3所述的系统,其特征在于,用户使用游戏过程中,所述节点游戏视频管理单元还用于在接收到客户端游戏操控请求后,向渲染节点的资源管理单元发送请求,该请求中包括:游戏服务器的使用状态信息、编码压缩单元的使用状态信息;所述渲染节点的资源管理单元将游戏服务器的使用状态信息、编码压缩单元的使用状态信息返回给节点游戏视频管理单元;所述节点游戏视频管理单元根据游戏服务器的使用状态信息和编码压缩单元的使用状态信息,并结合游戏安装部署的情况确定哪台游戏服务器和哪台编码压缩单元为用户服务,将确定的游戏服务器IP地址和编码压缩单元的IP地址发送给渲染节点的配置管理单元,请求对资源进行预留配置;所述配置管理单元将这些请求的资源进行预留,并返回完成配置的消息给节点游戏视频管理单元;在收到配置管理单元的完成配置消息后,所述节点游戏视频管理单元请求渲染节点登录管理单元将会话密钥同时发送给游戏服务器以及客户端;渲染节点的登录管理单元将会话密钥分发给游戏服务器以及客户端后,向节点游戏视频管理单元返回完成会话密钥分发的消息;在收到会话密钥分发完成的消息后,所述节点游戏视频管理单元将游戏服务器IP地址和编码压缩单元IP地址通知客户端;客户端根据获得的游戏服务器的IP地址向游戏服务器发起请求,同时根据获得的编码压缩单元IP地址与编码压缩单元建立连接,请求接收游戏过程中渲染的视频。
5.根据权利要求3所述的系统,其特征在于,在用户点播游戏视频过程中,处于操控模式的用户A在开始游戏时选择可录制方式,客户端A通过网关A向渲染节点中的节点游戏视频管理单元A发送游戏操控请求;节点游戏视频管理单元A收到游戏操控请求后,会记录一条包含有该用户A请求录制游戏视频信息的流媒体,可供其它玩家点播,并向中心节点中的中心游戏视频管理单元发送该视频文件信息;中心游戏视频管理单元向EPG系统更新内容,EPG系统会更新客户端管理单元的内容以及各客户端的内容;客户端B显示其他玩家的游戏视频信息,用户在选择后,客户端B通过网关B向用户登录的渲染节点中的节点游戏视频管理单元B发出请求;节点游戏视频管理单元B得到请求后,查询在本节点内是否存储有请求的游戏视频信息,如果有则直接将该游戏视频信息在Cache设备B上的地址返回给客户端B;如果没有则节点游戏视频管理单元B向中心节点中的中心游戏视频管理单元发出请求;中心游戏视频管理单元向节点游戏视频管理单元B返回请求的游戏视频信息的地址信息;节点游戏视频管理单元B根据视频地址信息向Cache设备B发出代理请求,Cache设备B根据视频地址信息向拥有视频的节点的Cache设备A发出视频请求;Cache设备A将请求的视频流发送给Cache设备B,Cache设备B缓存到本节点Cache设备B;节点游戏视频管理单元B向用户返回本节点Cache设备B中视频流的地址,用户通过访问Cache设备B看到相应的视频流。
6.根据权利要求3所述的系统,其特征在于,在游戏部署过程中,当有新的游戏文件需要部署时,游戏文件库单元通知中心节点中的中心游戏视频管理单元有新的游戏文件需要部署;中心游戏视频管理单元在本地记录游戏文件的状态为未完成部署,并通知所有渲染节点的节点游戏视频管理单元进行部署;节点游戏视频管理单元选择一台或多台游戏服务器进行部署,并通知所选择的游戏服务器从中心节点中的中心游戏文件库中获取游戏文件;游戏服务器向中心游戏文件库请求所述的游戏安装文件,并下载该游戏安装文件到本地;本步骤游戏服务器也可以通过Cache设备统一从所述中心游戏文件库单元中获取;游戏服务器在获取游戏文件后,开始在游戏服务器上安装游戏文件;游戏部署完毕后,游戏服务器通知节点游戏视频管理单元游戏部署完毕;节点游戏视频管理单元将游戏的状态变为部署完毕且可服务的状态,并通知中心游戏视频管理单元部署完毕;中心游戏视频管理单元等到收到所有节点游戏视频管理单元的部署完毕确认后,将游戏状态改为已部署,并通知客户端管理单元进行发布。
7.根据权利要求3所述的系统,其特征在于,在游戏下线中,如果有计划的让某游戏在一定时间后下线,中心节点中的中心游戏视频管理单元会提前一段时间通知中心节点中的客户端管理单元,游戏将在一段时间后下线;客户端管理单元将向所有的客户端发送一条预先的下线通知;在下线时间到来后,中心游戏视频管理单元通知客户端管理单元正式下线;客户端管理单元将更新自己的EPG,并将更新的EPG下发到各个客户端;中心游戏视频管理单元在通知客户端管理单元EPG更改后,通知所有渲染节点中的节点游戏视频管理单元对某游戏进行下线操作;节点游戏视频管理单元在收到中心游戏视频管理单元的通知后,查询需要下线的游戏在哪个游戏服务器上部署,然后通知该游戏服务器删除和卸载相关的游戏文件;游戏服务器在完成游戏的删除和卸载后,通知节点游戏视频管理单元游戏删除完毕;此时此游戏在节点游戏视频管理单元上被删除记录,或被标识为已下线;节点游戏视频管理单元通知中心游戏视频管理单元游戏已经在本节点下线,等到所有节点都反馈游戏在其节点上下线后,中心游戏视频管理单元删除其记录或标识为已下线。
8.根据权利要求3所述的系统,其特征在于,在客户端更新过程中,客户端直接连接到中心节点的客户端管理单元,请求客户端管理单元发送版本号;客户端管理单元向客户端下发最新的版本号;客户端收到版本号后,通过对比本地现有的软件版本来决定是否需要升级,如果需要升级,则向客户端管理单元请求下载新的升级版本。
9.根据权利要求3所述的系统,其特征在于,在用户操控游戏过程中,客户端启动后,用户选择某款游戏,客户端将游戏请求通过网关发送到渲染节点中的游戏服务器;游戏服务器向渲染节点中的用户数据管理单元请求发送用户数据,用户数据管理单元向游戏服务器返回用户上次存档的数据;游戏启动运行,客户端通过网关向游戏服务器发送操控指令;游戏服务器生成新的游戏画面并发送到客户端显示,同时向Cache设备复制一份视频,以便用户进行点播;如果用户想要结束游戏,则客户端通过网关向游戏服务器发出结束游戏的请求;游戏服务器向用户数据管理单元请求保存用户的游戏存档文件;用户数据管理单元保存用户的游戏存档数据后,返回确认信息;游戏服务器确认用户数据保存完毕后,停止向输出Cache设备游戏画面,同时通知客户端游戏结束;游戏服务器向渲染节点的资源管理单元请求释放相关资源,资源管理单元释放资源后返回确认信息。
10.根据权利要求3所述的系统,其特征在于,用户通过不同终端使用同一款游戏的过程中,客户端在A地通过渲染节点A访问游戏服务器,在完成游戏后向渲染节点A的游戏服务器发出结束的指令;游戏服务器向渲染节点A的用户数据管理单元进行存档,如果渲染节点A的用户数据管理单元相对于上一次用户使用同一游戏的存储是一次新的游戏数据存储,则渲染节点A的用户数据管理单元将向中心节点的中心用户数据管理单元发送目录更新请求,中心用户数据管理单元将此用户对此款游戏的数据存档位置进行更新;中心用户数据管理单元通知渲染节点A的用户数据管理单元更新完毕;渲染节点A的用户数据管理单元通知游戏服务器存档完毕,然后通知客户端游戏结束;用户通过客户端B在B地重新连接到游戏;渲染节点B的用户数据管理单元查询本地,发现没有该用户的相关存档,其向中心用户数据管理单元发送存档位置的请求;中心用户数据管理单元查询到用户上次存档的位置,通知节点B用户数据管理单元;渲染节点B的用户数据管理单元向渲染节点A的用户数据管理单元发送数据下载的请求;渲染节点A的用户数据管理单元向节点B用户数据管理单元传送用户上次的用户数据,同时渲染节点A的用户数据管理单元删除本地的用户数据;渲染节点B用户数据管理单元向渲染节点B的游戏服务器载入用户数据,渲染节点B游戏服务器向客户端B发送确认游戏可以开始的信息,开始提供服务。
11.一种实现远端实时操控的方法,其特征在于,在网络侧设置中心节点和一个以上的渲染节点,中心节点完成游戏文件在各个渲染节点中的部署,管理渲染节点信息和用户信息,为用户终端分配合适的渲染节点执行游戏服务;渲染节点接收中心节点分配的游戏文件在本地进行安装;并包括:渲染节点接收用户终端通过网络发来的操控指令,根据操控指令在本地运行游戏文件,生成相应的游戏画面并经过压缩后发送给用户终端;其中,该方法在用户登录过程中包括:用户启动安装在用户终端的客户端,选择客户端中的“登录”选项,客户端将用户的请求发送到中心节点中的全局调度单元;全局调度单元通过按照就近性原则将用户重定向到离用户最近的渲染节点的网关服务器;客户端将用户请求发送到重定向后的网关服务器;所述网关服务器判断该用户请求消息的类型和合法性后,根据请求类型将请求转发到特定的渲染节点登录管理单元;渲染节点的登录管理单元向客户端返回确认消息;客户端提示用户输入用户名和密码,用户输入用户名和密码后,客户端将包含有用户名和密码的鉴权请求通过网关服务器发送给渲染节点登录管理单元;用户名和密码通过以下几种方式之一发送给渲染节点登录管理单元:云游戏系统有一个通用的公钥,用户名和密码都可以采用这个公钥进行加密,发送给登录管理单元;客户端明文发送用户名,密码用MD5或者其它Hash算法生成一个摘要digest,将digest和用户名发送给登录管理单元;渲染节点的登录管理单元向中心节点的登录管理单元转发所述鉴权请求;中心节点的登录管理单元通过查询认证数据库,对所述鉴权请求中的用户名和密码进行认证,认证完后生成一个会话密钥,发送给渲染节点的登录管理单元;节点登录管理单元保存会话密钥,并返回给客户端鉴权通过的响应,客户端显示登录成功。
12.根据权利要求11所述的方法,其特征在于,用户使用游戏过程中,还包括:所述渲染节点的节点游戏视频管理单元还用于在接收到客户端游戏操控请求后,向渲染节点的资源管理单元发送请求,该请求中包括:游戏服务器的使用状态信息、编码压缩单元的使用状态信息;所述渲染节点的资源管理单元将游戏服务器的使用状态信息、编码压缩单元的使用状态信息返回给节点游戏视频管理单元;所述节点游戏视频管理单元根据游戏服务器的使用状态信息和编码压缩单元的使用状态信息,并结合游戏安装部署的情况确定哪台游戏服务器和哪台编码压缩单元为用户服务,将确定的游戏服务器IP地址和编码压缩单元的IP地址发送给渲染节点的配置管理单元,请求对资源进行预留配置;所述配置管理单元将这些请求的资源进行预留,并返回完成配置的消息给节点游戏视频管理单元;在收到配置管理单元的完成配置消息后,所述节点游戏视频管理单元请求渲染节点登录管理单元将会话密钥同时发送给游戏服务器以及客户端;渲染节点的登录管理单元将会话密钥分发给游戏服务器以及客户端后,向节点游戏视频管理单元返回完成会话密钥分发的消息;在收到会话密钥分发完成的消息后,所述节点游戏视频管理单元将游戏服务器IP地址和编码压缩单元IP地址通知客户端;客户端根据获得的游戏服务器的IP地址向游戏服务器发起请求,同时根据获得的编码压缩单元IP地址与编码压缩单元建立连接,请求接收游戏过程中渲染的视频。
13.根据权利要求11所述的方法,其特征在于,在用户点播游戏视频过程中,还包括:处于操控模式的用户A在开始游戏时选择可录制方式,客户端A通过网关A向渲染节点中的节点游戏视频管理单元A发送游戏操控请求;节点游戏视频管理单元A收到游戏操控请求后,会记录一条包含有该用户A请求录制游戏视频信息的流媒体,可供其它玩家点播,并向中心节点中的中心游戏视频管理单元发送该视频文件信息;中心游戏视频管理单元向EPG系统更新内容,EPG系统会更新客户端管理单元的内容以及各客户端的内容;客户端B显示其他玩家的游戏视频信息,用户在选择后,客户端B通过网关B向用户登录的渲染节点中的节点游戏视频管理单元B发出请求;节点游戏视频管理单元B得到请求后,查询在本节点内是否存储有请求的游戏视频信息,如果有则直接将该游戏视频信息在Cache设备B上的地址返回给客户端B;如果没有则节点游戏视频管理单元B向中心节点中的中心游戏视频管理单元发出请求;中心游戏视频管理单元向节点游戏视频管理单元B返回请求的游戏视频信息的地址信息;节点游戏视频管理单元B根据视频地址信息向Cache设备B发出代理请求,Cache设备B根据视频地址信息向拥有视频的节点的Cache设备A发出视频请求;Cache设备A将请求的视频流发送给Cache设备B,Cache设备B缓存到本节点Cache设备B;节点游戏视频管理单元B向用户返回本节点Cache设备B中视频流的地址,用户通过访问Cache设备B看到相应的视频流。
14.根据权利要求11所述的方法,其特征在于,在游戏部署过程中,还包括:当有新的游戏文件需要部署时,中心节点的游戏文件库单元通知中心节点中的中心游戏视频管理单元有新的游戏文件需要部署;中心游戏视频管理单元在本地记录游戏文件的状态为未完成部署,并通知所有渲染节点的节点游戏视频管理单元进行部署;节点游戏视频管理单元选择一台或多台游戏服务器进行部署,并通知所选择的游戏服务器从中心节点中的中心游戏文件库中获取游戏文件;游戏服务器向中心游戏文件库请求所述的游戏安装文件,并下载该游戏安装文件到本地;本步骤游戏服务器也可以通过Cache设备统一从所述中心游戏文件库单元中获取;游戏服务器在获取游戏文件后,开始在游戏服务器上安装游戏文件;游戏部署完毕后,游戏服务器通知节点游戏视频管理单元游戏部署完毕;节点游戏视频管理单元将游戏的状态变为部署完毕且可服务的状态,并通知中心游戏视频管理单元部署完毕;中心游戏视频管理单元等到收到所有节点游戏视频管理单元的部署完毕确认后,将游戏状态改为已部署,并通知客户端管理单元进行发布。
15.根据权利要求11所述的方法,其特征在于,在游戏下线中,还包括:如果有计划的让某游戏在一定时间后下线,中心节点中的中心游戏视频管理单元会提前一段时间通知中心节点中的客户端管理单元,游戏将在一段时间后下线;客户端管理单元将向所有的客户端发送一条预先的下线通知;在下线时间到来后,中心游戏视频管理单元通知客户端管理单元正式下线;客户端管理单元将更新自己的EPG,并将更新的EPG下发到各个客户端;中心游戏视频管理单元在通知客户端管理单元EPG更改后,通知所有渲染节点中的节点游戏视频管理单元对某游戏进行下线操作;节点游戏视频管理单元在收到中心游戏视频管理单元的通知后,查询需要下线的游戏在哪个游戏服务器上部署,然后通知该游戏服务器删除和卸载相关的游戏文件;游戏服务器在完成游戏的删除和卸载后,通知节点游戏视频管理单元游戏删除完毕;此时此游戏在节点游戏视频管理单元上被删除记录,或被标识为已下线;节点游戏视频管理单元通知中心游戏视频管理单元游戏已经在本节点下线,等到所有节点都反馈游戏在其节点上下线后,中心游戏视频管理单元删除其记录或标识为已下线。
16.根据权利要求11所述的方法,其特征在于,在客户端更新过程中,还包括:客户端直接连接到中心节点的客户端管理单元,请求客户端管理单元发送版本号;客户端管理单元向客户端下发最新的版本号;客户端收到版本号后,通过对比本地现有的软件版本来决定是否需要升级,如果需要升级,则向客户端管理单元请求下载新的升级版本。
17.根据权利要求11所述的方法,其特征在于,在用户操控游戏过程中,还包括:客户端启动后,用户选择某款游戏,客户端将游戏请求通过网关发送到渲染节点中的游戏服务器;游戏服务器向渲染节点中的用户数据管理单元请求发送用户数据,用户数据管理单元向游戏服务器返回用户上次存档的数据;游戏启动运行,客户端通过网关向游戏服务器发送操控指令;游戏服务器生成新的游戏画面并发送到客户端显示,同时向Cache设备复制一份视频,以便用户进行点播;如果用户想要结束游戏,则客户端通过网关向游戏服务器发出结束游戏的请求;游戏服务器向用户数据管理单元请求保存用户的游戏存档文件;用户数据管理单元保存用户的游戏存档数据后,返回确认信息;游戏服务器确认用户数据保存完毕后,停止向输出Cache设备游戏画面,同时通知客户端游戏结束;游戏服务器向渲染节点的资源管理单元请求释放相关资源,资源管理单元释放资源后返回确认信息。
18.根据权利要求11所述的方法,其特征在于,用户通过不同终端使用同一款游戏的过程中,还包括:客户端在A地通过渲染节点A访问游戏服务器,在完成游戏后向渲染节点A的游戏服务器发出结束的指令;游戏服务器向渲染节点A的用户数据管理单元进行存档,如果渲染节点A的用户数据管理单元相对于上一次用户使用同一游戏的存储是一次新的游戏数据存储,则渲染节点A的用户数据管理单元将向中心节点的中心用户数据管理单元发送目录更新请求,中心用户数据管理单元将此用户对此款游戏的数据存档位置进行更新;中心用户数据管理单元通知渲染节点A的用户数据管理单元更新完毕;渲染节点A的用户数据管理单元通知游戏服务器存档完毕,然后通知客户端游戏结束;用户通过客户端B在B地重新连接到游戏;渲染节点B的用户数据管理单元查询本地,发现没有该用户的相关存档,其向中心用户数据管理单元发送存档位置的请求;中心用户数据管理单元查询到用户上次存档的位置,通知节点B用户数据管理单元;渲染节点B的用户数据管理单元向渲染节点A的用户数据管理单元发送数据下载的请求;渲染节点A的用户数据管理单元向节点B用户数据管理单元传送用户上次的用户数据,同时渲染节点A的用户数据管理单元删除本地的用户数据;渲染节点B用户数据管理单元向渲染节点B的游戏服务器载入用户数据,渲染节点B游戏服务器向客户端B发送确认游戏可以开始的信息,开始提供服务。
19.根据权利要求11所述的方法,其特征在于,该方法在用户退出客户端的过程中包括:用户在客户端上点击退出,或者直接关掉客户端,客户端通过网关向渲染节点的登录管理单元发送退出请求;渲染节点的登录管理单元检查所述客户端用户状态,判断该用户是否还在使用某个游戏服务器,如果还在使用,则首先进入游戏退出流程;如果没有使用,则直接删除保存的与用户相关的会话密钥,取消用户的登录状态,同时将用户本次访问的情况进行记录,以便以后进行计费,在完成退出操作后通知客户端;客户端收到通知消息后删除本地的会话密钥。
技术领域本发明涉及互联网技术领域,特别是指一种实现远端实时操控的系统和方法。
背景技术目前网络游戏的实现方式主要由专门的网络游戏服务提供商(SP)提供网络游戏的实时运营。如果游戏用户要玩网络游戏,需要先从网络游戏网站下载和安装专门的客户端,然后启动客户端游戏程序,在玩的过程中不断从网络游戏SP接收游戏所需要的关键数据。这种网络游戏的模式在游戏市场飞速发展、网络游戏产品层出不穷的今天表现出一定的局限性:首先,每年新推出的网络游戏产品很多,但普遍质量比较低,而不同游戏拥有不同的客户端,人们在不断选择和试玩各种网络游戏的同时面临着频繁的巨大游戏客户端下载、安装和卸载问题,用户体验较差。其次,随着3D技术的成熟,高品质3D游戏也越来越多,一般的弱PC终端已经无法满足3D游戏的运行要求,人们需要频繁的更新自己的硬件设备才能满足高品质游戏的需要。另外,手机和机顶盒的增值应用在人们的生活中越来越重要,对于在手机和机顶盒上玩高品质游戏的需要也越来越强烈,但现有的手机和机顶盒配置也无法达到玩高品质游戏的要求。最后,现有的网络游戏数据主要存储在本地的机器上,外挂和信息安全问题比较突出。对于单机游戏来说,运行游戏所需要的全部数据主要存储在本地存储设备上(包括本地的光盘),用户客户在本地玩游戏中涉及的所有内容,也可以通过局域网或互联网来与其它玩家共同游戏。近年来,单机游戏的市场份额也面临着巨大的挑战,主要原因有两个方面:盗版严重,因为游戏的全部数据存在本地,所以高水平的盗版者总是能够在较短时间内破解相关数据,严重影响了单机游戏的发售业绩。单机游戏的品质普遍较高,更新速度也较快,每次更新对硬件的要求也提升较多,因此用户需要不断的更新相关硬件。另外,个别的游戏需要特殊的运行环境,有可能与用户现有的操作系统不兼容。
发明内容有鉴于此,本发明的目的在于提出一种新的实现远端实时操控的云游戏系统和方法,减少游戏运行对用户终端资源的占用和配置的依赖,尽量避免用户终端频繁的下载、更新游戏。基于上述目的本发明提供的一种实现远端实时操控的系统,该系统设置于网络侧并包括:中心节点,用于完成游戏文件在各个渲染节点中的部署,管理渲染节点信息和用户信息,为用户终端分配合适的渲染节点执行游戏服务;渲染节点,接收中心节点分配的游戏文件在本地进行安装;以及接收用户终端通过网络发来的操控指令,根据操控指令在本地运行游戏文件,生成相应的游戏画面并经过压缩后发送给用户终端。可选的,该系统中所述中心节点包括:中心游戏视频管理单元,是中心节点对全局游戏和视频的管理,包括对游戏安装文件的管理,可供服务的游戏管理,对可点播游戏视频的管理;全局调度单元,客户端初始访问云游戏系统时,全局调度单元根据用户的IP地址向用户返回离用户最近的一个以上节点的网关信息;资源管理单元,用于与渲染节点的资源管理单元进行交互,判断渲染节点是否失效,从而在用户无法访问最近渲染节点时转向为用户提供次近的渲染节点;游戏文件库单元,用于保存新发布的游戏文件以及游戏补丁文件,中心游戏视频管理单元将根据发布和升级的要求与节点游戏视频管理通信,来将此游戏文件分发到渲染节点进行部署安装;所述渲染节点包括:节点游戏视频管理单元,用于对本渲染节点内的游戏视频进行管理,包括游戏安装文件的管理,渲染节点内游戏服务的管理,可供点播的游戏视频管理;用户数据管理单元,用于保存用户在游戏过程中生成的存档数据,在用户重新访问时可以调出使用;资源管理单元,用于实现渲染节点内游戏服务器、编码设备和Cache设备的心跳连接,收集各设备的资源使用情况,实现资源虚拟化管理,为配置管理提供空闲的可服务的虚拟资源;Cache设备,用于提供游戏视频的高速缓存,用户可以通过访问Cache设备来获取游戏画面的视频流;编码压缩单元,用于完成游戏服务器输出原始视频信号的压缩编码;游戏服务器,用于实现游戏的逻辑运行和渲染,接收用户访问的消息,根据用户的消息在本地运行游戏,生成新的游戏画面,并将生成的游戏画面输出给编码压缩单元。可选的,该系统中所述中心游戏视频管理单元,还用于根据发布和升级的要求,将游戏文件分发到渲染节点进行部署安装;针对每款游戏进行相关属性记录,包括游戏安装文件在渲染节点的具体位置和文件属性信息,每款游戏在各个渲染节点中的部署完成情况以及所部署游戏服务器的信息,与游戏相关的可点播视频的信息;所述全局调度单元,还用于判断根据用户的IP地址判断用户处于哪个渲染节点的服务范围内,从而返回给用户具体的节点信息;所述Cache设备,还用于为用户直接提供视频点播、直播服务,和/或为其它渲染节点的Cache设备提供缓存服务。可选的,该系统中所述中心节点还包括:登录管理单元,用于存储所有用户的用户名和密码,并为所有用户的登录进行最终鉴权验证;为每个用户的每次游戏访问生成一个会话密钥;接收渲染节点的登录管理单元发过来的认证信息以及返回认证结果和会话密钥信息;客户端管理单元,用于向登录用户的客户端推送菜单界面,包括客户端菜单的更新;对客户端软件进行升级;对客户端广告显示进行管理;所述渲染节点还包括:登录管理单元,用于临时存储中心登录管理单元存储的会话密钥,保存用户相关的认证状态信息,在用户更换游戏时,保证用户不用再次输入用户名和密码进行第二次登录;网关,用于检验用户上行消息的合法性,同时判断用户的访问类型,以及在多个登录管理单元之间实现均衡。可选的,该系统中用户使用游戏过程中,所述节点游戏视频管理单元还用于在接收到客户端游戏操控请求后,向节点游戏视频管理单元发送请求,该请求中包括:游戏服务器的使用状态信息、编码服务器的使用状态信息在内的资源信息;所述资源管理单元将游戏服务器的使用状态信息、编码服务器的使用状态信息返回给节点游戏视频管理单元;所述节点游戏视频管理单元根据游戏服务器的使用状态信息和编码服务器的使用状态信息,并结合游戏安装部署的情况确定哪台游戏服务器和哪台编码服务器为用户服务,将确定的游戏服务器IP地址和编码服务器的IP地址发送给配置管理单元,请求对资源进行预留配置;所述配置管理单元将这些请求的资源进行预留,并返回完成配置的消息给节点游戏视频管理单元;在收到配置管理单元的完成配置消息后,所述节点游戏视频管理单元请求渲染节点登录管理单元将会话密钥同时发送给游戏服务器以及客户端;渲染节点的登录管理单元将会话密钥分发给游戏服务器以及客户端后,向节点游戏视频管理单元返回完成会话密钥分发的消息;在收到会话密钥分发完成的消息后,所述节点游戏视频管理单元将游戏服务器IP地址和编码服务器IP地址通知客户端;客户端根据获得的游戏服务器的IP地址向游戏服务器发起请求,同时根据获得的编码服务器IP地址与编码视频服务器建立连接,请求接收游戏过程中渲染的视频。可选的,该系统中在用户点播游戏视频过程中,处于操控模式的用户A在开始游戏时选择可录制方式,客户端A通过网关A向渲染节点中的节点游戏视频管理单元A发送游戏操控请求;节点游戏视频管理单元A收到游戏操控请求后,会记录一条包含有该用户A请求录制游戏视频信息的流媒体,可供其它玩家点播。并向中心节点中的中心游戏视频管理单元发送该视频文件信息;中心游戏视频管理单元向EPG系统更新内容,EPG系统会更新客户端管理单元以及包括各客户端的内容;客户端B显示其他玩家的游戏视频信息,用户在选择后,客户端B通过网关B向用户登录的渲染节点中的节点游戏视频管理单元B发出请求;节点游戏视频管理单元B得到请求后,查询在本节点内是否存储有请求的游戏视频信息,如果有则直接将该游戏视频信息在Cache设备B上的地址返回给客户端B;如果没有则节点游戏视频管理单元B向中心节点中的中心游戏视频管理单元发出请求;中心游戏视频管理单元向节点游戏视频管理单元B返回请求的游戏视频信息的地址信息;节点游戏视频管理单元B根据视频地址信息向Cache设备B发出代理请求,Cache设备B根据视频地址信息向拥有视频的节点的Cache设备A发出视频请求;Cache设备A将请求的视频流发送给Cache设备B,Cache设备B缓存到本节点Cache设备B;节点游戏视频管理单元B向用户返回本节点Cache设备B中视频流的地址,用户通过访问Cache设备B看到相应的视频流。可选的,该系统在游戏部署过程中,当有新的游戏文件需要部署时,游戏文件库单元通知中心节点中的中心游戏视频管理单元有新的游戏文件需要部署;中心游戏视频管理单元在本地记录游戏文件的状态为未完成部署,并通知所有渲染节点的游戏视频管理服务器进行部署;节点游戏视频管理单元选择一台或多台游戏服务器进行部署,并通知所选择的游戏服务器从中心节点中的中心游戏文件库中获取游戏文件;游戏服务器向中心游戏文件库请求所述的游戏安装文件,并下载该游戏安装文件到本地;本步骤游戏服务器也可以通过Cache设备统一从所述中心游戏文件库单元中获取;游戏服务器在获取游戏文件后,开始在游戏服务器上安装游戏文件;游戏部署完毕后,游戏服务器通知节点游戏视频管理单元游戏部署完毕;节点游戏视频管理单元将游戏的状态变为部署完毕且可服务的状态,并通知中心游戏视频管理单元部署完毕;中心游戏视频管理单元等到收到所有节点游戏视频管理单元的部署完毕确认后,将游戏状态改为已部署,并通知客户端管理单元进行发布。可选的,该系统在游戏下线中,如果有计划的让某游戏在一定时间后下线,中心节点中的中心游戏视频管理单元会提前一段时间通知中心节点中的客户端管理单元,游戏将在一段时间后下线;客户端管理单元将向所有的客户端发送一条预先的下线通知;在下线时间到来后,中心游戏视频管理单元通知客户端管理单元正式下线;客户端管理单元将更新自己的EPG,并将更新的EPG下发到各个客户端;中心游戏视频管理单元在通知客户端管理单元EPG更改后,通知所有渲染节点中的节点游戏视频管理单元对某游戏进行下线操作;节点游戏视频管理单元在收到中心游戏视频管理单元的通知后,查询需要下线的游戏在哪个游戏服务器上部署,然后通知该游戏服务器删除和卸载相关的游戏文件;游戏服务器在完成游戏的删除和卸载后,通知节点游戏视频管理单元游戏删除完毕;此时此游戏在节点游戏视频管理单元上被删除记录,或被标识为已下线;节点游戏视频管理单元通知中心游戏视频管理单元游戏已经在本节点下线,等到所有节点都反馈游戏在其节点上下线后,中心游戏视频管理单元删除其记录或标识为已下线。可选的,该系统在客户端更新过程中,客户端直接连接到中心节点的客户端管理单元,请求客户端管理单元发送版本号;客户端管理单元向客户端下发最新的版本号;客户端收到版本号后,通过对比本地现有的软件版本来决定是否需要升级,如果需要升级,则向客户端管理单元请求下载新的升级版本。可选的,该系统在用户操控游戏过程中,客户端启动后,用户选择某款游戏,客户端将游戏请求通过网关发送到渲染节点中的游戏服务器;游戏服务器向渲染节点中的用户数据管理单元请求发送用户数据,用户数据管理单元向游戏服务器返回用户上次存档的数据;游戏启动运行,客户端通过网关向游戏服务器发送操控指令;游戏服务器生成新的游戏画面并发送到客户端显示,同时向Cache设备复制一份视频,以便用户进行点播;如果用户想要结束游戏,则客户端通过网关向游戏服务器发出结束游戏的请求;游戏服务器向用户数据管理单元请求保存用户的游戏存档文件;用户数据管理单元保存用户的游戏存档数据后,返回确认信息;游戏服务器确认用户数据保存完毕后,停止向输出Cache设备游戏画面,同时通知客户端游戏结束;游戏服务器向渲染节点的资源管理单元请求释放相关资源,资源管理单元释放资源后返回确认信息。可选的,该系统在用户通过不同终端使用同一款游戏的过程中,客户端在A地通过渲染节点A访问游戏服务器,在完成游戏后向渲染节点A的游戏服务器发出结束的指令;游戏服务器向渲染节点A的用户数据管理单元进行存档,如果渲染节点A的用户数据管理单元相对于上一次用户使用同一游戏的存储是一次新的游戏数据存储,则渲染节点A的用户数据管理单元将向中心节点的中心用户数据管理单元发送目录更新请求,中心用户数据管理单元将此用户对此款游戏的数据存档位置进行更新;中心用户数据管理单元通知渲染节点A的用户数据管理单元更新完毕;渲染节点A的用户数据管理单元通知游戏服务器存档完毕,然后通知客户端游戏结束;用户通过客户端B在B地重新连接到游戏;。渲染节点B的用户数据管理单元查询本地,发现没有该用户的相关存档,其向中心用户数据管理单元发送存档位置的请求;中心用户数据管理单元查询到用户上次存档的位置,通知节点B用户数据管理单元;渲染节点B的用户数据管理单元向渲染节点A的用户数据管理单元发送数据下载的请求;渲染节点A的用户数据管理单元向节点B用户数据管理单元传送用户上次的用户数据,同时渲染节点A的用户数据管理单元删除本地的用户数据;渲染节点B用户数据管理单元向渲染节点B的游戏服务器载入用户数据,渲染节点B游戏服务器向客户端B发送确认游戏可以开始的信息,开始提供服务。在本发明的另一方面,还提供了一种实现远端实时操控的方法,在网络侧设置中心节点和一个以上的渲染节点,中心节点完成游戏文件在各个渲染节点中的部署,管理渲染节点信息和用户信息,为用户终端分配合适的渲染节点执行游戏服务;渲染节点接收中心节点分配的游戏文件在本地进行安装;并包括:渲染节点接收用户终端通过网络发来的操控指令,根据操控指令在本地运行游戏文件,生成相应的游戏画面并经过压缩后发送给用户终端。可选的,该方法在用户使用游戏过程中,还包括:所述渲染节点的节点游戏视频管理单元还用于在接收到客户端游戏操控请求后,向节点游戏视频管理单元发送请求,该请求中包括:游戏服务器的使用状态信息、编码服务器的使用状态信息在内的资源信息;所述资源管理单元将游戏服务器的使用状态信息、编码服务器的使用状态信息返回给节点游戏视频管理单元;所述节点游戏视频管理单元根据游戏服务器的使用状态信息和编码服务器的使用状态信息,并结合游戏安装部署的情况确定哪台游戏服务器和哪台编码服务器为用户服务,将确定的游戏服务器IP地址和编码服务器的IP地址发送给渲染节点的配置管理单元,请求对资源进行预留配置;所述配置管理单元将这些请求的资源进行预留,并返回完成配置的消息给节点游戏视频管理单元;在收到配置管理单元的完成配置消息后,所述节点游戏视频管理单元请求渲染节点登录管理单元将会话密钥同时发送给游戏服务器以及客户端;渲染节点的登录管理单元将会话密钥分发给游戏服务器以及客户端后,向节点游戏视频管理单元返回完成会话密钥分发的消息;在收到会话密钥分发完成的消息后,所述节点游戏视频管理单元将游戏服务器IP地址和编码服务器IP地址通知客户端;客户端根据获得的游戏服务器的IP地址向游戏服务器发起请求,同时根据获得的编码服务器IP地址与编码视频服务器建立连接,请求接收游戏过程中渲染的视频。可选的,该方法在用户点播游戏视频过程中,还包括:处于操控模式的用户A在开始游戏时选择可录制方式,客户端A通过网关A向渲染节点中的节点游戏视频管理单元A发送游戏操控请求;节点游戏视频管理单元A收到游戏操控请求后,会记录一条包含有该用户A请求录制游戏视频信息的流媒体,可供其它玩家点播。并向中心节点中的中心游戏视频管理单元发送该视频文件信息;中心游戏视频管理单元向EPG系统更新内容,EPG系统会更新客户端管理单元以及包括各客户端的内容;客户端B显示其他玩家的游戏视频信息,用户在选择后,客户端B通过网关B向用户登录的渲染节点中的节点游戏视频管理单元B发出请求;节点游戏视频管理单元B得到请求后,查询在本节点内是否存储有请求的游戏视频信息,如果有则直接将该游戏视频信息在Cache设备B上的地址返回给客户端B;如果没有则节点游戏视频管理单元B向中心节点中的中心游戏视频管理单元发出请求;中心游戏视频管理单元向节点游戏视频管理单元B返回请求的游戏视频信息的地址信息;节点游戏视频管理单元B根据视频地址信息向Cache设备B发出代理请求,Cache设备B根据视频地址信息向拥有视频的节点的Cache设备A发出视频请求;Cache设备A将请求的视频流发送给Cache设备B,Cache设备B缓存到本节点Cache设备B;节点游戏视频管理单元B向用户返回本节点Cache设备B中视频流的地址,用户通过访问Cache设备B看到相应的视频流。可选的,该方法在游戏部署过程中,还包括:当有新的游戏文件需要部署时,游戏文件库单元通知中心节点中的中心游戏视频管理单元有新的游戏文件需要部署;中心游戏视频管理单元在本地记录游戏文件的状态为未完成部署,并通知所有渲染节点的游戏视频管理服务器进行部署;节点游戏视频管理单元选择一台或多台游戏服务器进行部署,并通知所选择的游戏服务器从中心节点中的中心游戏文件库中获取游戏文件;游戏服务器向中心游戏文件库请求所述的游戏安装文件,并下载该游戏安装文件到本地;本步骤游戏服务器也可以通过Cache设备统一从所述中心游戏文件库单元中获取;游戏服务器在获取游戏文件后,开始在游戏服务器上安装游戏文件;游戏部署完毕后,游戏服务器通知节点游戏视频管理单元游戏部署完毕;节点游戏视频管理单元将游戏的状态变为部署完毕且可服务的状态,并通知中心游戏视频管理单元部署完毕;中心游戏视频管理单元等到收到所有节点游戏视频管理单元的部署完毕确认后,将游戏状态改为已部署,并通知客户端管理单元进行发布。可选的,该方法在游戏下线中,还包括:如果有计划的让某游戏在一定时间后下线,中心节点中的中心游戏视频管理单元会提前一段时间通知中心节点中的客户端管理单元,游戏将在一段时间后下线;客户端管理单元将向所有的客户端发送一条预先的下线通知;在下线时间到来后,中心游戏视频管理单元通知客户端管理单元正式下线;客户端管理单元将更新自己的EPG,并将更新的EPG下发到各个客户端;中心游戏视频管理单元在通知客户端管理单元EPG更改后,通知所有渲染节点中的节点游戏视频管理单元对某游戏进行下线操作;节点游戏视频管理单元在收到中心游戏视频管理单元的通知后,查询需要下线的游戏在哪个游戏服务器上部署,然后通知该游戏服务器删除和卸载相关的游戏文件;游戏服务器在完成游戏的删除和卸载后,通知节点游戏视频管理单元游戏删除完毕;此时此游戏在节点游戏视频管理单元上被删除记录,或被标识为已下线;节点游戏视频管理单元通知中心游戏视频管理单元游戏已经在本节点下线,等到所有节点都反馈游戏在其节点上下线后,中心游戏视频管理单元删除其记录或标识为已下线。可选的,该方法在客户端更新过程中,还包括:客户端直接连接到中心节点的客户端管理单元,请求客户端管理单元发送版本号;客户端管理单元向客户端下发最新的版本号;客户端收到版本号后,通过对比本地现有的软件版本来决定是否需要升级,如果需要升级,则向客户端管理单元请求下载新的升级版本。可选的,该方法在用户操控游戏过程中,还包括:客户端启动后,用户选择某款游戏,客户端将游戏请求通过网关发送到渲染节点中的游戏服务器;游戏服务器向渲染节点中的用户数据管理单元请求发送用户数据,用户数据管理单元向游戏服务器返回用户上次存档的数据;游戏启动运行,客户端通过网关向游戏服务器发送操控指令;游戏服务器生成新的游戏画面并发送到客户端显示,同时向Cache设备复制一份视频,以便用户进行点播;如果用户想要结束游戏,则客户端通过网关向游戏服务器发出结束游戏的请求;游戏服务器向用户数据管理单元请求保存用户的游戏存档文件;用户数据管理单元保存用户的游戏存档数据后,返回确认信息;游戏服务器确认用户数据保存完毕后,停止向输出Cache设备游戏画面,同时通知客户端游戏结束;游戏服务器向渲染节点的资源管理单元请求释放相关资源,资源管理单元释放资源后返回确认信息。可选的,该方法在用户通过不同终端使用同一款游戏的过程中,还包括:客户端在A地通过渲染节点A访问游戏服务器,在完成游戏后向渲染节点A的游戏服务器发出结束的指令;游戏服务器向渲染节点A的用户数据管理单元进行存档,如果渲染节点A的用户数据管理单元相对于上一次用户使用同一游戏的存储是一次新的游戏数据存储,则渲染节点A的用户数据管理单元将向中心节点的中心用户数据管理单元发送目录更新请求,中心用户数据管理单元将此用户对此款游戏的数据存档位置进行更新;中心用户数据管理单元通知渲染节点A的用户数据管理单元更新完毕;渲染节点A的用户数据管理单元通知游戏服务器存档完毕,然后通知客户端游戏结束;用户通过客户端B在B地重新连接到游戏;渲染节点B的用户数据管理单元查询本地,发现没有该用户的相关存档,其向中心用户数据管理单元发送存档位置的请求;中心用户数据管理单元查询到用户上次存档的位置,通知节点B用户数据管理单元;渲染节点B的用户数据管理单元向渲染节点A的用户数据管理单元发送数据下载的请求;渲染节点A的用户数据管理单元向节点B用户数据管理单元传送用户上次的用户数据,同时渲染节点A的用户数据管理单元删除本地的用户数据;渲染节点B用户数据管理单元向渲染节点B的游戏服务器载入用户数据,渲染节点B游戏服务器向客户端B发送确认游戏可以开始的信息,开始提供服务。可选的,该方法在用户登录过程中包括:用户启动安装在用户终端的客户端,可以选择客户端中的“登录”选项,客户端将用户的请求发送到中心节点中的全局调度单元;全局调度单元通过按照就近性原则将用户重定向到离用户最近的渲染节点的网关服务器;客户端将用户请求发送到重定向后的网关服务器;所述网关服务器判断该用户请求消息的类型和合法性后,根据请求类型将请求转发到特定的渲染节点登录管理单元;渲染节点的登录管理单元向客户端返回确认消息;客户端提示用户输入用户名和密码,用户输入用户名和密码后,客户端将包含有用户名和密码的鉴权请求通过网关服务器发送给渲染节点登录管理单元;用户名和密码可以通过以下几种方式之一发送给渲染节点登录管理单元:云游戏系统有一个通用的公钥,用户名和密码都可以采用这个公钥进行加密,发送给登录管理单元;客户端明文发送用户名,密码用MD5或者其它Hash算法生成一个摘要digest,将digest和用户名发送给登录管理单元。渲染节点的登录管理单元向中心节点的登录管理单元转发所述鉴权请求;中心节点的登录管理单元通过查询认证数据库,对所述鉴权请求中的用户名和密码进行认证,认证完后生成一个会话密钥,发送给渲染节点的登录管理单元;节点登录管理单元保存会话密钥,并返回给客户端鉴权通过的响应,客户端显示登录成功;可选的,该方法在用户退出客户端的过程中包括:用户在客户端上点击退出,或者直接关掉客户端,客户端通过网关向渲染节点的登录管理单元发送退出请求;渲染节点的登录管理单元检查所述客户端用户状态,判断该用户是否还在使用某个游戏服务器,如果还在使用,则首先进入游戏退出流程;如果没有使用,则直接删除保存的与用户相关的会话密钥,取消用户的登录状态,同时将用户本次访问的情况进行记录,以便以后进行计费。在完成退出操作后通知客户端;客户端收到通知消息后删除本地的会话密钥。从上面所述可以看出,本发明提供的实现远端实时操控的云游戏系统和方法,相比于传统的网络游戏和单机游戏方式,具备以下特点和优点:所有的游戏画面在服务器端生成,变成视频在客户端呈现,因此用户本地终端不需要生成游戏画面,只需要具备基本的视频接收能力,以及将外设指令传递到服务器的功能,这样,高品质的游戏也可以在配置较弱的个人计算机(PC)、手机和机顶盒上玩。客户端只是一个视频接收窗口,不同的游戏都可以在同一个客户端中呈现,不需要针对不同的游戏安装不同的客户端。同时游戏对运行环境的差异性要求也可以在客户端屏蔽,客户端只需要接收通常格式的视频即可。所有的游戏程序数据都存储在服务器端,因此可以在很大程度上杜绝游戏外挂以及其它安全方面的隐患。同时,本地没有数据,也是高水平盗版者无法拿到核心数据,复制游戏程序文件。
附图说明图1为本发明实施例云游戏系统与终端的示意图;图2为本发明实施例云游戏系统的网络架构示意图;图3为本发明实施例云游戏系统中心节点的功能单元示意图;图4为本发明实施例云游戏系统渲染节点的功能单元示意图;图5为本发明实施例云游戏系统内部主要功能单元信息交互的示意图;图6为本发明实施例用户登录的流程示意图;图7为本发明实施例用户退出客户端的流程示意图;图8为本发明实施例用户使用游戏的流程示意图;图9为本发明实施例用户观摩游戏视频的流程示意图;图10为本发明实施例游戏部署的流程示意图;图11为本发明实施例游戏下线的流程示意图;图12为本发明实施例客户端更新的流程示意图;图13为本发明实施例用户操控游戏的流程示意图;图14为本发明实施例不同终端使用同一款游戏的流程示意图。
具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。云游戏服务系统,如图1所示。云游戏系统上运行用户所玩的游戏程序,该游戏可以包括:网络游戏和单机游戏。游戏画面通过渲染等技术转换为实时的视频信号,视频信号经过高质量低延时的压缩编码,转变为在互联网上传送的视频信号,发送给用户的终端,用户的终端可以是手机、PC机或者机顶盒。用户可以根据游戏画面使用鼠标、键盘、手柄或其它外接设备向用户的终端发出相关的操控指令,操控命令通过互联网上传到云游戏平台,云游戏平台根据用户的指令,经过计算生成新的游戏画面并压缩成视频传给用户终端进行呈现。本发明实施例云游戏系统的网络架构,如图2所示。从图2可以看出,云游戏系统网络架构主要分为两级节点:中心节点和渲染节点。中心节点包括管控层和数据层。管控层包括基本的运营管理功能以及与云游戏运行相关的中心游戏视频管理、全局调度、资源管理、登录管理。数据层主要包含一个游戏文件库,用于游戏内容提供商的游戏文件(包含游戏补丁)入口和存储。渲染节点同样包含管控层和数据层。管控层包含基本的节点管理功能以及节点游戏视频管理、用户数据管理、资源管理和登录管理。数据层包含Cache、压缩编码、网关、游戏应用服务。下面结合图3-5对中心节点和渲染节点内部的关键功能单元,进行说明。图5为本发明实施例云游戏系统的中心节点和渲染节点内部核心功能单元之间的信息交互示意图。参见图3所示,为本发明实施例中心节点的功能单元图。结合图3和图5对中心节点中的核心功能单元进行说明。登录管理单元:存储全网云游戏用户的用户名和密码,并为所有用户的登录进行最终鉴权验证;为每个用户的每次游戏访问生成一个会话密钥;接收渲染节点的登录管理单元发过来的认证信息以及返回认证结果和会话密钥信息。中心游戏视频管理单元:是中心节点对全局游戏和视频的管理,包括对游戏安装文件的管理,可供服务的游戏管理,对可点播游戏视频的管理。可以针对每款游戏进行相关属性记录,包括游戏安装文件在渲染节点的具体位置和文件属性信息,每款游戏在各个渲染节点中的部署完成情况以及所部署游戏服务器的信息,与游戏相关的可点播视频的信息。全局调度单元:客户端初始访问云游戏系统时,全局调度单元可以根据用户的IP地址向用户返回离用户最近的几个节点(比如返回2到3个节点,但通常排名第一的节点主要用来为用户服务)的网关信息。全局调度单元是一个静态调度系统,主要判断根据用户的IP地址判断用户处于哪个渲染节点的服务范围内,从而返回给用户具体的节点信息。资源管理单元:主要与渲染节点的资源管理单元进行交互,判断渲染节点是否失效,从而在用户无法访问最近渲染节点时转向为用户提供次近的渲染节点。游戏文件库单元:主要是游戏内容提供商将新发布的游戏以及游戏补丁发送到此库,中心游戏视频管理单元将根据发布和升级的要求与节点游戏视频管理单元通信,来将此游戏文件分发到渲染节点进行部署安装。客户端管理单元:对登录到云游戏系统的客户端推送菜单界面,包括客户端菜单的更新;对客户端软件进行升级;对客户端广告显示进行管理等等。渲染节点图4所示为渲染节点的功能单元示意图。结合图4和图5对渲染节点中的核心功能单元进行说明。节点游戏视频管理单元:对本渲染节点内的游戏视频进行管理,包括游戏安装文件的管理,渲染节点内游戏服务的管理,可供点播的游戏视频管理。登录管理单元:临时存储中心登录管理单元存储的会话密钥,保存用户相关的认证状态信息,在用户更换游戏时,保证用户不用再次输入用户名和密码进行第二次登录。用户数据管理单元:主要保存用户在游戏过程中生成的存档数据,在用户重新访问时可以调出使用。资源管理单元:实现渲染节点内游戏服务器、编码设备和Cache设备的心跳连接,收集各设备的资源使用情况,实现资源虚拟化管理,为配置管理提供空闲的可服务的虚拟资源。Cache设备:主要提供游戏视频的高速缓存,用户可以通过访问Cache设备来获取游戏画面的视频流。Cache设备可以为用户直接提供视频点播、直播服务,也可以为其它渲染节点的Cache设备提供缓存服务。Cache设备可以提供游戏视频的缓存,可以供用户观看游戏视频时向后回退一定时间。Cache设备可以在游戏结束后(或者每隔一段时间)向本地磁盘中存储视频文件信息,可供以后进行点播访问。编码压缩单元:主要完成游戏服务器输出原始视频信号的压缩编码,编码后的视频流可以直接发送给用户,也可以输出到Cache设备供其它人观看。网关:主要用来检验用户上行消息的合法性,同时判断用户的访问类型,比如登录或者游戏操控,从而将消息转发给合适的服务器。另外,在较大的节点中,也能实现负载均衡的作用,比如多个登录管理单元之间实现均衡。游戏服务器:主要实现游戏的逻辑运行和渲染。接收用户访问的消息,根据用户的消息在本地运行游戏,生成新的游戏画面,并将生成的游戏画面输出给编码压缩单元。上述各实施例系统中,所述中心节点和渲染节点内部的各单元可以是独立的处理设备,也可以是由多台处理设备组成一个单元,或者多个单元共同设置在一台处理设备中。下面具体介绍本发明实现远端实时操控的云游戏方法中的几个关键流程。用户登录流程,参见图6所示。步骤601,用户启动安装在用户终端的客户端,可以选择客户端中的“登录”选项,客户端将用户的请求发送到中心节点中的全局调度单元。步骤602,全局调度单元通过按照就近性原则将用户重定向到离用户最近的渲染节点的网关服务器。步骤603,客户端将用户请求发送到重定向后的网关服务器。步骤604,所述网关服务器判断该用户请求消息的类型和合法性后,根据请求类型将请求转发到特定的渲染节点登录管理单元。步骤605,渲染节点的登录管理单元向客户端返回确认消息。步骤606,客户端提示用户输入用户名和密码,用户输入用户名和密码后,客户端将包含有用户名和密码的鉴权请求通过网关服务器发送给渲染节点登录管理单元。用户名和密码可以通过以下几种方式之一发送给渲染节点登录管理单元:云游戏系统有一个通用的公钥,用户名和密码都可以采用这个公钥进行加密,发送给登录管理单元;客户端明文发送用户名,密码用MD5或者其它Hash算法生成一个digest(摘要),将digest和用户名发送给登录管理单元。步骤607,渲染节点的登录管理单元向中心节点的登录管理单元转发所述鉴权请求,即渲染节点的登录管理单元向中心节点的登录管理单元请求认证。步骤608,中心节点的登录管理单元通过查询认证数据库,对所述鉴权请求中的用户名和密码进行认证,如果认证通过则对这个请求给予确认,生成一个会话密钥(该会话密钥可连同这个用户的属性信息),发送给渲染节点的登录管理单元。进一步还可以将用户属性信息发送给渲染节点的登录管理单元。步骤609,节点登录管理单元保存会话密钥(若在步骤608中也发送了用户属性信息,则在本步骤中对用户属性信息也进行保存),并返回给客户端鉴权通过的响应,客户端显示登录成功。用户退出客户端的流程,参见图7所示。步骤701,用户在客户端上点击退出,或者直接关掉客户端,客户端通过网关向渲染节点的登录管理单元发送退出请求。步骤702,渲染节点的登录管理单元检查所述客户端用户状态,判断该用户是否还在使用某个游戏服务器,如果还在使用(即正在执行某款游戏),则首先进入游戏退出流程(详见下文用户操控游戏流程);如果没有使用(即已经全部退出游戏),则直接删除保存的与用户相关的会话密钥,取消用户的登录状态,同时将用户本次访问的情况进行记录,以便以后进行计费。在完成退出操作后通知客户端。步骤703,客户端收到通知消息后删除本地的会话密钥。用户使用游戏流程(操控游戏模式),参见图8所示。步骤801,用户选择游戏后,将客户端游戏操控请求通过网关服务器发送到渲染节点的节点游戏视频管理单元。步骤802,节点游戏视频管理单元向渲染节点的资源管理单元发送请求包括:游戏服务器的使用状态信息、编码服务器的使用状态信息在内的资源信息。步骤803,资源管理单元将游戏服务器的使用状态信息、编码服务器的使用状态信息返回给节点游戏视频管理单元。步骤804,节点游戏视频管理单元根据游戏服务器的使用状态信息和编码服务器的使用状态信息,并结合游戏安装部署的情况确定哪台游戏服务器和哪台编码服务器为用户服务,将确定的游戏服务器IP地址和编码服务器的IP地址发送给渲染节点的配置管理单元,请求对资源进行预留配置。步骤805,渲染节点的配置管理单元将这些请求的资源进行预留,并返回完成配置的消息给节点游戏视频管理单元。步骤806,收到配置管理单元的完成配置消息后,节点游戏视频管理单元请求渲染节点登录管理单元将会话密钥同时发送给游戏服务器以及客户端。步骤807,渲染节点的登录管理单元将会话密钥分发给游戏服务器以及客户端后,向节点游戏视频管理单元返回完成会话密钥分发的消息。步骤808,收到会话密钥分发完成的消息后,节点游戏视频管理单元将游戏服务器IP地址和编码服务器IP地址通知客户端。步骤809,客户端根据获得的游戏服务器的IP地址向游戏服务器发起请求(请求会通过会话密钥加密),同时根据获得的编码服务器IP地址与编码视频服务器建立连接,请求接收游戏过程中渲染的视频。用户点播游戏视频(观摩游戏模式),参见图9所示。步骤901,处于操控模式的用户A在开始游戏时选择可录制方式,客户端A通过网关A向渲染节点中的节点游戏视频管理单元A发送游戏操控请求。步骤902,节点游戏视频管理单元A收到游戏操控请求后,会记录一条包含有该用户A请求录制游戏视频信息的流媒体,可供其它玩家点播。并向中心节点中的中心游戏视频管理单元发送该视频文件信息。其中所述视频文件信息可以包括:所述游戏视频信息的位置、名字、玩家等信息。另外,在此期间渲染节点中的游戏服务器A会继续为客户端提供游戏服务,包括:向客户端A发送当前操控的游戏视频,以及复制游戏视频到Cachexa0A等等。步骤903,中心游戏视频管理单元向EPG(电子节目菜单)系统更新内容,EPG系统会更新客户端管理单元以及包括各客户端的内容(包括客户端B)。步骤904,客户端B显示其他玩家的游戏视频信息,用户在选择后,客户端B通过网关B向用户登录的渲染节点中的节点游戏视频管理单元B发出请求。步骤905,节点游戏视频管理单元B得到请求后,查询在本节点内是否存储有请求的游戏视频信息,如果有则直接将该游戏视频信息在Cache设备B上的地址返回给客户端B;如果没有则进入步骤906。步骤906,节点游戏视频管理单元B向中心节点中的中心游戏视频管理单元发出请求。步骤907,中心游戏视频管理单元向节点游戏视频管理单元B返回请求的游戏视频信息的地址信息。步骤908,节点游戏视频管理单元B根据视频地址信息向Cache设备B发出代理请求,Cache设备B根据视频地址信息向拥有视频的节点的Cache设备A发出视频请求。步骤909,Cache设备A将请求的游戏视频信息的流媒体视频流发送给Cache设备B,Cache设备B缓存到本节点Cache设备B。步骤910,节点游戏视频管理单元B向用户返回本节点Cache设备B中视频流的地址,用户通过访问Cache设备B看到相应的视频流。游戏部署流程,参见图10所示。游戏安装文件在存储到中心节点的游戏文件库单元中。步骤1001,当有新的游戏文件需要部署时,游戏文件库单元通知中心节点中的中心游戏视频管理单元有新的游戏文件需要部署。步骤1002,中心游戏视频管理单元在本地记录游戏文件的状态为未完成部署,并通知所有渲染节点的游戏视频管理服务器进行部署。步骤1003,渲染节点游戏视频管理单元选择一台或多台游戏服务器进行部署,并通知所选择的游戏服务器从中心节点中的中心游戏文件库中获取游戏文件。步骤1004,游戏服务器向中心游戏文件库请求所述的游戏安装文件,并下载该游戏安装文件到本地。本步骤游戏服务器也可以通过Cache设备统一从所述中心游戏文件库单元中获取。步骤1005,游戏服务器在获取游戏文件后,开始在游戏服务器上安装游戏文件。步骤1006,游戏部署完毕后,游戏服务器通知节点游戏视频管理单元游戏部署完毕。步骤1007,节点游戏视频管理单元将游戏的状态变为部署完毕且可服务的状态,并通知中心游戏视频管理单元部署完毕。步骤1008,中心游戏视频管理单元等到收到所有节点游戏视频管理单元的部署完毕确认后,将游戏状态改为已部署,并通知客户端管理单元进行发布。游戏下线流程,参见图11所示。步骤1101,如果有计划的让某游戏在一定时间后下线,中心节点中的中心游戏视频管理单元会提前一段时间通知中心节点中的客户端管理单元,游戏将在一段时间后下线。步骤1102,客户端管理单元将向所有的客户端发送一条预先的下线通知。步骤1103,在下线时间到来后,中心游戏视频管理单元通知客户端管理单元正式下线。步骤1104,客户端管理单元将更新自己的EPG,并将更新的EPG下发到各个客户端。步骤1105,中心游戏视频管理单元在通知客户端管理单元EPG更改后,通知所有渲染节点中的节点游戏视频管理单元对某游戏进行下线操作。步骤1106,节点游戏视频管理单元在收到中心游戏视频管理单元的通知后,查询需要下线的游戏在哪个游戏服务器上部署,然后通知该游戏服务器删除和卸载相关的游戏文件。步骤1107,游戏服务器在完成游戏的删除和卸载后,通知节点游戏视频管理单元游戏删除完毕。此时此游戏在节点游戏视频管理单元上被删除记录,或被标识为已下线。步骤1108,节点游戏视频管理单元通知中心游戏视频管理单元游戏已经在本节点下线,等到所有节点都反馈游戏在其节点上下线后,中心游戏视频管理单元删除其记录或标识为已下线。客户端更新流程,参见图12所示。步骤1201,用于启动客户端,客户端直接连接到中心节点的客户端管理单元,请求客户端管理单元发送版本号。步骤1202,客户端管理单元向客户端下发最新的版本号。步骤1203~1204,客户端收到版本号后,通过对比本地现有的软件版本来决定是否需要升级,如果需要升级,则向客户端管理单元请求下载新的升级版本。客户端完成升级。用户操控游戏流程,参见图13所示。步骤1301,客户端启动后,用户选择某款游戏,客户端将游戏请求通过网关发送到渲染节点中的游戏服务器。步骤1302,游戏服务器向渲染节点中的用户数据管理单元请求发送用户数据,用户数据管理单元向游戏服务器返回用户上次存档的数据。步骤1303,游戏启动运行,客户端通过网关向游戏服务器发送操控指令。步骤1304,游戏服务器生成新的游戏画面并发送到客户端显示,同时向Cache设备复制一份视频,以便用户进行点播。步骤1303-1304在游戏操控过程中反复被执行。步骤1305,如果用户想要结束游戏,则客户端通过网关向游戏服务器发出结束游戏的请求。步骤1306,游戏服务器向用户数据管理单元请求保存用户的游戏存档文件。步骤1307,用户数据管理单元保存用户的游戏存档数据后,返回确认信息。步骤1308,游戏服务器确认用户数据保存完毕后,停止向输出Cache设备游戏画面,同时通知客户端游戏结束。步骤1309,游戏服务器向渲染节点的资源管理单元请求释放相关资源,资源管理单元释放资源后返回确认信息。用户通过不同终端(包括不同地点)使用同一款游戏(三屏互动场景之一)的流程,参见图14所示。步骤1401,客户端在A地通过渲染节点A访问游戏服务器,在完成游戏后向渲染节点A的游戏服务器发出结束的指令。步骤1402,游戏服务器向渲染节点A的用户数据管理单元进行存档,如果渲染节点A的用户数据管理单元相对于上一次用户使用同一游戏的存储是一次新的游戏数据存储,则渲染节点A的用户数据管理单元将向中心节点的中心用户数据管理单元发送目录更新请求,中心用户数据管理单元将此用户对此款游戏的数据存档位置进行更新。步骤1403,中心用户数据管理单元通知渲染节点A的用户数据管理单元更新完毕。步骤1404,渲染节点A的用户数据管理单元通知游戏服务器存档完毕,然后通知客户端游戏结束。步骤1405,用户通过客户端B在B地重新连接到游戏。步骤1406,渲染节点B的用户数据管理单元查询本地,发现没有该用户的相关存档,其向中心用户数据管理单元发送存档位置的请求。步骤1407,中心用户数据管理单元查询到用户上次存档的位置,通知节点B用户数据管理单元。步骤1408,渲染节点B的用户数据管理单元向渲染节点A的用户数据管理单元发送数据下载的请求。步骤1409,渲染节点A的用户数据管理单元向节点B用户数据管理单元传送用户上次的用户数据,同时渲染节点A的用户数据管理单元删除本地的用户数据。步骤1410,渲染节点B用户数据管理单元向渲染节点B的游戏服务器载入用户数据,渲染节点B游戏服务器向客户端B发送确认游戏可以开始的信息,开始提供服务。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,也可在软件或软硬件的组合中实现,例如用专用集成电路(ASIC)、通用计算机或其他硬件等同物来实现。前述方法对应的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。应该注意,本发明在一个实施例中,单元或进程可被加载到存储器中并由处理器执行,以实现上述功能。这样,本发明的进程(包括相关联的数据结构)可被存储在计算机可读介质或载波上,例如RAM存储器、磁驱动或光驱动或磁盘等等。所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。